//package com.keyancompany.zhongbaopingtai.weight;
//
//import android.content.Context;
//import android.content.Intent;
//import android.net.Uri;
//import android.os.Handler;
//import android.os.Message;
//import android.text.TextUtils;
//import android.util.Log;
//import android.view.View;
//import android.widget.LinearLayout;
//import android.widget.TextView;
//
//import com.keyancompany.zhongbaopingtai.Constants;
//import com.keyancompany.zhongbaopingtai.R;
//import com.keyancompany.zhongbaopingtai.ZBApplication;
//import com.keyancompany.zhongbaopingtai.model.Update;
//import com.keyancompany.zhongbaopingtai.utils.ScreenUtils;
//
//import java.io.File;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.math.BigDecimal;
//import java.net.HttpURLConnection;
//import java.net.MalformedURLException;
//import java.net.URL;
//
//import butterknife.Bind;
//import butterknife.OnClick;
//
///**
// * Created by firefox on 2016/7/2.
// */
//public class VersionWarningPopup extends MenuPopuWindow {
//
//    @Bind(R.id.sure)
//    TextView sure;
//    @Bind(R.id.cancel)
//    TextView cancle;
//    @Bind(R.id.content)
//    TextView content;
//    @Bind(R.id.content_parent)
//    LinearLayout contentParent;
//    String saveFileName = context.getResources().getString(R.string.app_name);
//
//    private Update update;
//
//    public VersionWarningPopup(Context context) {
//        super(context);
//    }
//
//    @Override
//    public void setUpViews() {
//
//    }
//
//    public void setCancelVisibility(boolean visibility) {
//        if (cancle != null) {
//            cancle.setVisibility(visibility ? View.VISIBLE : View.GONE);
//        }
//    }
//
//    public void setContent(String contentText) {
//        if (content != null) {
//            if (!TextUtils.isEmpty(contentText))
//                content.setText(contentText);
//            else
//                contentParent.setVisibility(View.GONE);
//        }
//
//    }
//
//    @Override
//    public void setUpListener() {
//
//    }
//
//    @OnClick(R.id.sure)
//    public void clickSure(View view) {
//        dismiss();
//    }
//
//    @OnClick(R.id.cancel)
//    public void clickCancel(View view) {
//        dismiss();
//    }
//
//    @Override
//    public int getAnimationStyle() {
//        return 0;
//    }
//
//    @Override
//    public int getResView() {
//        return R.layout.popup_update_version;
//    }
//
//    @Override
//    public void updateView(View contentView) {
//        setWidth(ScreenUtils.getScreenWidth(context) * 2 / 3);
//    }
//
//    /**
//     * 下载apk
//     *
//     * @param url
//     */
//    private Thread downLoadThread;
//
//    private void downloadApk() {
//        downLoadThread = new Thread(mdownApkRunnable);
//        downLoadThread.start();
//    }
//
//    /**
//     * 安装apk
//     */
//    private void installApk() {
//        dismiss();
//
//        File apkfile = new File(saveFileName);
//        if (!apkfile.exists()) {
//            return;
//        }
//        Intent i = new Intent(Intent.ACTION_VIEW);
//        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//        i.setDataAndType(Uri.parse("file://" + apkfile.toString()),
//                "application/vnd.android.package-archive");
//        context.startActivity(i);
//
//    }
//
//    boolean canceled = false;
//    int progress = 0;
//    public int lastRate = 0;
//    private Runnable mdownApkRunnable = new Runnable() {
//        @Override
//        public void run() {
//            try {
//                URL url = new URL(update.appUrl);
//                // L.i("info", "====" + Constants.UPDATA_URL);
//                HttpURLConnection conn = (HttpURLConnection) url
//                        .openConnection();
//                conn.connect();
//                int length = conn.getContentLength();
//                // // 更新进度
//                Message msg1 = mHandler.obtainMessage();
//                msg1.what = 2;
//                msg1.arg1 = length;
//                mHandler.sendMessage(msg1);
//                // // progressBar.setMax(msg.arg2);
//                InputStream is = conn.getInputStream();
//
//                File file = new File(Constants.FILE_PATH);
//                if (!file.exists()) {
//                    file.mkdirs();
//                }
//                File ApkFile = new File(Constants.FILE_PATH + saveFileName);
//                FileOutputStream fos = new FileOutputStream(ApkFile);
//                int count = 0;
//                byte buf[] = new byte[1024];
//
//                do {
//                    int numread = is.read(buf);
//                    count += numread;
//                    progress = (int) (((float) count / length) * 100);
//                    // 更新进度
//                    Message msg = mHandler.obtainMessage();
//                    msg.what = 1;
//                    msg.arg1 = progress;
//                    msg.arg2 = length;
//                    if (progress >= lastRate + 1) {
//                        mHandler.sendMessage(msg);
//                        lastRate = progress;
//                        Log.i("info", lastRate + "=======" + "内部的数据======"
//                                + progress + "");
//                    }
//                    if (numread <= 0) {
//                        lastRate = 0;
//                        // 下载完成通知安装
//                        mHandler.sendEmptyMessage(0);
//                        // 下载完了，cancelled也要设置
//                        canceled = true;
//                        break;
//                    }
//                    fos.write(buf, 0, numread);
//                } while (!canceled);// 点击取消就停止下载.
//
//                fos.close();
//                is.close();
//
//            } catch (MalformedURLException e) {
//                e.printStackTrace();
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//
//        }
//    };
//
//    private Handler mHandler = new Handler() {
//
//        @Override
//        public void handleMessage(Message msg) {
//            switch (msg.what) {
//                case 0:
//                    // 下载完毕
//                    // 取消通知
//                    dismiss();
//                    installApk();
//                    break;
//                case 1:
//                    // int rate = msg.arg1;
//                    if (progressBar != null) {
//                        currentProgress.setText(msg.arg1 + "%");
//                        progressBar.setProgress(msg.arg1);
//                    }
//                    break;
//                case 2:
//                    // // 下载完毕
//                    // // 取消通知
//                    // dismiss();
//                    // installApk();
//                    size.setText(bytes2kb(msg.arg1));
//                    break;
//            }
//        }
//    };
//
//    /**
//     * @param bytes
//     * @return
//     * @Description long转文件大小M单位方法
//     * @author temdy
//     */
//    public String bytes2kb(long bytes) {
//        BigDecimal filesize = new BigDecimal(bytes);
//        BigDecimal megabyte = new BigDecimal(1024 * 1024);
//        float returnValue = filesize.divide(megabyte, 2, BigDecimal.ROUND_UP)
//                .floatValue();
//        return returnValue + "MB";
//    }
//}
